package br.ufrj.neg.evento.bean;

import java.util.ArrayList;

import br.ufrj.neg.bean.Idioma;
import br.ufrj.neg.bean.TraducaoBean;
import br.ufrj.neg.constants.TraducaoConstantes;
import br.ufrj.neg.util.Data;

public class ArtefatoBean extends TraducaoBean {

	public final String NOME_TABELA = "artefato";
	public final String CAMPO_DESCRICAO = getNomeCampos().get(0);	
	
	private int id;
	private int evento;
	private int tipoArtefato;
	private int indice;
	private String tipoArtefatoDescricao;
	private Data data;
	private byte[] arquivoAsByte;
	private String dataFormatada;
	private String nome;
		
	public ArtefatoBean(Idioma idioma) {		
		super(idioma);		
	}	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public int getIndice() {
		return indice;
	}
	public void setIndice(int indice) {
		this.indice = indice;
	}
	public int getEvento() {
		return evento;
	}
	public void setEvento(int evento) {
		this.evento = evento;
	}
	public Data getData() {
		return data;
	}
	public void setData(Data data) {
		this.data = data;
	}
	public int getTipoArtefato() {
		return tipoArtefato;
	}
	public void setTipoArtefato(int tipoArtefato) {
		this.tipoArtefato = tipoArtefato;
	}
	public String getNome() {
		return nome;		
	}
	public void setNome(String nome) {
		this.nome = nome;	
	}
	public String getDescricao() {
		return getDicionario().get(CAMPO_DESCRICAO).get(getIdioma());	
	}
	public void setDescricao(String descricao) {
		this.setTraducao( getIdioma(), CAMPO_DESCRICAO, descricao);	
	}
	public String getTipoArtefatoDescricao() {
		return tipoArtefatoDescricao;
	}
	public void setTipoArtefatoDescricao(String tipoArtefatoDescricao) {
		this.tipoArtefatoDescricao = tipoArtefatoDescricao;
	}

	public byte[] getArquivoAsByte() {
		return arquivoAsByte;
	}
	public void setArquivoAsByte(byte[] arquivoAsByte) {
		this.arquivoAsByte = arquivoAsByte;
	}
	
	public String getDataFormatada() {
		return dataFormatada;
	}
	public void setDataFormatada(String dataFormatada) {
		this.dataFormatada = dataFormatada;
	}
	@Override
	public int getIdTabela() {		
		return TraducaoConstantes.getIdTabela(NOME_TABELA);
	}
	@Override
	public ArtefatoBean getNewInstance() {		
		return new ArtefatoBean( getIdioma() );
	}
	@Override
	public ArrayList<String> getNomeCampos() {
		ArrayList<String> nomeCampos = new ArrayList<String>();		
		nomeCampos.add("arte_tx_descricao");
		return nomeCampos;
	}
	@Override
	public ArrayList<String> getLabelCampos() {
		ArrayList<String> labelCampos = new ArrayList<String>();		
		labelCampos.add("negociacao.reuniao.artefato.descricao");
		return null;
	}
	
}
